# -*- coding: utf-8 -*-
"""
@file: blessing_generator.py
@author: lingxiaotian
@date: 2025/6/1
@description: 端午节祝福语生成器
"""
# Copyright (c) 2025, 量子
# All rights reserved.

import flet as ft
import random
import json
import os
from pathlib import Path
import pyperclip
from typing importList, Dict, Any
from datetime import datetime

classSmartRandomGenerator:
    """随机生成器，避免重复"""
    def__init__(self, items):
        self.original_items = items.copy()
        self.available_items = items.copy()
        self.used_items = []

    defchoice(self):
        ifnotself.available_items:
            # 所有选项都用过了，重置但保留最近使用的一些
            self.available_items = self.original_items.copy()
            iflen(self.used_items) > 3:
                recent_used = self.used_items[-3:]
                for item in recent_used:
                    if item inself.available_items:
                        self.available_items.remove(item)
            self.used_items = []

        chosen = random.choice(self.available_items)
        self.available_items.remove(chosen)
        self.used_items.append(chosen)
        return chosen

classDragonBoatBlessingGenerator:
    def__init__(self):
        self.data_folder = Path(__file__).parent / "data"
        self.templates = {}
        self.vocabularies = {}
        self.poems = []
        self.generated_history = []  # 记录已生成的内容
        self.smart_generators = {}  # 生成器字典
        self.load_data()
        self.init_smart_generators()

    definit_smart_generators(self):
        """初始化智能生成器"""
        for key, values inself.vocabularies.items():
            if values:
                self.smart_generators[key] = SmartRandomGenerator(values)

    defload_data(self):
        """加载祝福语数据"""
        try:
            # 加载模板
            template_file = self.data_folder / "blessing_templates.json"
            if template_file.exists():
                withopen(template_file, 'r', encoding='utf-8') as f:
                    self.templates = json.load(f)
            else:
                self.create_default_templates()

            # 加载词库
            vocab_file = self.data_folder / "vocabularies.json"
            if vocab_file.exists():
                withopen(vocab_file, 'r', encoding='utf-8') as f:
                    self.vocabularies = json.load(f)
            else:
                self.create_default_vocabularies()

            # 加载诗句
            poems_file = self.data_folder / "dragon_boat_poems.json"
            if poems_file.exists():
                withopen(poems_file, 'r', encoding='utf-8') as f:
                    self.poems = json.load(f)
            else:
                self.create_default_poems()

        except Exception as e:
            print(f"数据加载出错: {e}")
            self.create_default_data()

    defcreate_default_templates(self):
        """创建默认模板 """
        self.templates = {
            "传统经典型": [
                "{greet}，值此端午佳节之际，愿{wish}常伴，{blessing}永随！{poem}",
                "{greet}，端午安康！愿{festival_spirit}为您带来{wish}，{blessing}满堂！",
                "端午时节，{greet}，愿您{wish}，{festival_element}香飘万里，{blessing}绵绵！{poem}",
                "{greet}，时逢端阳，{festival_element}飘香，愿您{wish}，{blessing}如意，阖家团圆！",
                "五月初五端午节，{greet}，愿{festival_spirit}为您送去{wish}，{blessing}永伴身边。{poem}",
                "{greet}，龙舟竞渡庆端阳，愿您{wish}身体棒，{blessing}满家堂，端午快乐！",
                "粽叶飘香五月天，{greet}，愿{festival_spirit}带给您{wish}，{blessing}年年有余。{poem}",
                "{greet}，端午佳节话安康，愿{festival_element}护佑您{wish}，{blessing}绵延。",
                "艾草青青龙舟鸣，{greet}，祝您{wish}乐融融，{blessing}如春风。{poem}",
                "{greet}，屈原精神传千古，愿您端午{wish}，{blessing}如诗如画。"
            ],
            "活泼俏皮型": [
                "嘿！{greet}～端午节到啦！🐉 愿{wish}像龙舟一样快，{blessing}像粽子一样甜！{emoji}",
                "{greet}，端午快乐！🌿 愿{festival_spirit}给你满满的{wish}，比粽子还香的{blessing}！",
                "端午端午，{greet}要{wish}哦！愿{festival_element}保佑你{blessing}，天天开心！🎉{poem}",
                "Hi～{greet}！粽子节来啦！🥟 愿你的{wish}比粽子还饱满，{blessing}比艾草还清香！{emoji}",
                "{greet}宝贝，端午大吉！🎋 愿{festival_spirit}给你带来超级{wish}，{blessing}满满哦！",
                "哇塞！{greet}，端午节耶！🐲 祝你{wish}99+，{blessing}爆棚，开心到飞起！{emoji}",
                "{greet}亲，端午节快乐鸭！🌿 愿你像龙舟一样勇敢，像粽子一样甜蜜，{wish}+{blessing}双满分！",
                "叮咚～{greet}，您的端午祝福已送达！📦 内含：{wish}*1，{blessing}*∞，{festival_element}香味加持！{emoji}",
                "{greet}么么哒～端午节到啦！💚 愿{festival_spirit}给你充满电，{wish}满格，{blessing}无限！",
                "报告{greet}！端午任务：吃粽子✓ 看龙舟✓ 收获{wish}✓ 拥有{blessing}✓ 任务完成！{emoji}{poem}"
            ],
            "文艺内涵型": [
                "{greet}，时逢端午，{poem} 愿此佳节为您带来{wish}与{blessing}，如诗如画，美好如初。",
                "端午时光，{greet}，愿{festival_spirit}如诗意般环绕，{wish}如甘露般降临，{blessing}如春风般和煦。",
                "{greet}，在这个充满诗意的端午节，愿{festival_element}为您送去{wish}，{blessing}如梦似幻。{poem}",
                "{greet}，五月榴花照眼明，端午佳节话深情。愿您{wish}似流水，{blessing}如青山。{poem}",
                "端阳时节，{greet}，愿{festival_spirit}为您编织一帘幽梦，{wish}与{blessing}相伴，诗与远方同行。",
                "{greet}，龙舟破浪香满江，诗意端午话衷肠。愿您{wish}如诗句般优美，{blessing}如音韵般悠扬。{poem}",
                "五月端阳，{greet}，愿{festival_element}的清香伴您走过四季，{wish}如春花般绚烂，{blessing}如秋月般温润。",
                "{greet}，端午诗韵绕心头，{festival_spirit}醉千秋。愿您{wish}如诗如画，{blessing}似水如歌。{poem}",
                "端午雅韵，{greet}，愿{festival_element}为您调制一壶诗意，{wish}是主调，{blessing}是和声。",
                "{greet}，汨罗江水话端阳，千年诗韵永流芳。愿您{wish}如屈子般高洁，{blessing}如离骚般不朽。{poem}"
            ],
            "商务正式型": [
                "尊敬的{greet}，值此端午佳节之际，谨祝您{wish}，事业如龙舟竞渡，{blessing}如潮涌！",
                "{greet}，在这个传统佳节里，愿{festival_spirit}为您的事业带来{wish}，{blessing}长久！",
                "端午安康！{greet}，祝愿您在新的征程中{wish}，{blessing}相伴，前程似锦！",
                "{greet}，端午佳节，愿{festival_element}的清香为您的工作带来{wish}，{blessing}不断！",
                "致{greet}：端午节快乐！愿您的团队如龙舟般团结协作，{wish}满满，{blessing}连连！"
            ],
            "温馨家庭型": [
                "亲爱的{greet}，端午节到了，愿我们一家人{wish}，{blessing}满屋，粽香伴温情！",
                "{greet}，家人团聚过端午，愿{festival_spirit}带给我们{wish}，{blessing}围绕！",
                "端午佳节，{greet}，愿家中{festival_element}飘香，{wish}传承，{blessing}绵延！",
                "{greet}，让我们一起包粽子、看龙舟，享受{wish}的时光，感受{blessing}的温暖！",
                "温馨的{greet}，端午节里话家常，愿{festival_spirit}为我们编织{wish}，{blessing}永长！"
            ]
        }
        self.save_templates()
    
    defcreate_default_vocabularies(self):
        """创建默认词库"""
        self.vocabularies = {
            "wish": [
                # 健康类
                "平安康健", "身体健康", "体魄强健", "精神饱满", "活力充沛", 
                "容光焕发", "神采奕奕", "朝气蓬勃", "身心健康", "体壮如牛", 
                "精力旺盛", "健康长寿", "延年益寿", "身强力壮", "精神矍铄",
                "红光满面", "生龙活虎", "健步如飞", "耳聪目明", "心宽体胖",
                "无病无灾", "岁岁平安", "福寿安康", "长命百岁", "青春永驻",
                "龙马精神", "益寿延年", "松鹤延年", "康乐宜年", "身心愉悦",

                # 事业类  
                "事业有成", "工作顺利", "步步高升", "平步青云", "飞黄腾达",
                "事业蒸蒸日上", "工作如鱼得水", "前程似锦", "未来可期", "成就非凡",
                "官运亨通", "仕途顺利", "青云直上", "扶摇直上", "如日中天",
                "功成名就", "名利双收", "声名远播", "威名远扬", "德高望重",
                "大展宏图", "鹏程万里", "旗开得胜", "马到成功", "业绩辉煌",
                "如虎添翼", "高瞻远瞩", "运筹帷幄", "决胜千里", "一帆风顺",
                
                # 生活类
                "生活美满", "幸福安康", "快乐无忧", "心想事成", "万事如意",
                "喜事连连", "好运连连", "福气满满", "笑口常开", "心情愉悦",
                "逍遥自在", "无忧无虑", "称心如意", "随心所欲", "心满意足",
                "安居乐业", "丰衣足食", "衣食无忧", "富足安康", "小康生活",
                "吉星高照", "福运亨通", "诸事顺利", "岁岁平安", "年年有余",
                "甜甜蜜蜜", "和和美美", "多姿多彩", "趣味盎然", "生机勃勃",
                
                # 家庭类
                "合家欢乐", "家庭和睦", "夫妻恩爱", "子女孝顺", "老少安康",
                "家和万事兴", "亲情满满", "温馨和谐", "其乐融融", "团团圆圆",
                "四世同堂", "子孙满堂", "儿孙绕膝", "天伦之乐", "骨肉团圆",
                "相敬如宾", "举案齐眉", "白头偕老", "比翼双飞", "琴瑟和鸣",
                "尊老爱幼", "父慈子孝", "兄友弟恭", "和睦相处", "血浓于水",
                
                # 财运类
                "财源广进", "财运亨通", "金玉满堂", "富贵有余", "招财进宝",
                "腰缠万贯", "富甲一方", "日进斗金", "财源滚滚", "生意兴隆",
                "财运旺盛", "财富自由", "资产丰厚", "投资有道", "理财有方",
                "一本万利", "堆金积玉", "金银满屋", "大发利市", "年年有余",
                
                # 学业类
                "学业有成", "金榜题名", "学富五车", "才高八斗", "博学多才",
                "聪明伶俐", "智慧过人", "才思敏捷", "学以致用", "知识渊博",
                "勤奋好学", "孜孜不倦", "学而时习", "温故知新", "举一反三",
                "名列前茅", "独占鳌头", "出类拔萃", "融会贯通", "豁然开朗",

                # 情感类 (新增)
                "情投意合", "心心相印", "百年好合", "永结同心", "天长地久",
                "爱情甜蜜", "友情长存", "知己难寻", "相濡以沫", "风雨同舟",
                "两情相悦", "海誓山盟", "情比金坚", "情深似海", "缘定三生",

                # 品质类 (新增)
                "善良纯真", "正直勇敢", "谦逊有礼", "乐观向上", "积极进取",
                "坚韧不拔", "持之以恒", "乐于助人", "宽容大度", "诚实守信",
                "冰清玉洁", "高风亮节", "虚怀若谷", "淡泊名利", "不屈不挠"
            ],
            "blessing": [
                # 基础祝福
                "福气", "好运", "幸福", "安康", "吉祥", "平安", "健康",
                "快乐", "如意", "顺利", "成功", "美满", "和谐", "温馨",
                "喜悦", "幸运", "亨通", "顺遂", "圆满", "兴旺", "发达",

                # 深度祝福
                "福星高照", "鸿运当头", "紫气东来", "瑞气盈门", "福寿双全",
                "五福临门", "六六大顺", "七星高照", "八方来财", "九九归一",
                "十全十美", "百事可乐", "千喜万福", "万事大吉", "无忧无虑",
                "心想事成", "梦想成真", "愿望实现", "称心如意", "随心所欲",
                "福至心灵", "吉人天相", "祥瑞普照", "万象更新", "生生不息",

                # 诗意祝福
                "如春风拂面", "似甘露降临", "像阳光普照", "若彩虹绚烂",
                "如诗如画", "似梦似幻", "美好如初", "温润如玉", "清香如兰",
                "甘甜如蜜", "温暖如春", "清凉如水", "纯净如雪", "灿烂如花",
                "明亮如星", "深邃如海", "高远如山", "辽阔如天", "绵长如河",
                "意境悠远", "情深意长", "温馨浪漫", "宁静致远", "岁月静好",

                # 现代祝福
                "满满正能量", "超级好心情", "开心每一天", "快乐无极限", 
                "幸福感满满", "安全感十足", "成就感爆棚", "满足感强烈",
                "元气满满", "活力四射", "天天向上", "未来可期", "梦想闪耀",
                
                # 四字祝福 (新增)
                "前程似锦", "锦上添花", "花好月圆", "月圆人圆", "人寿年丰",
                "风调雨顺", "国泰民安", "安居乐业", "业有所成", "成竹在胸",
                "胸怀天下", "下笔成章", "章句之学", "学无止境", "境随心转",
                "转危为安", "安富尊荣", "荣华富贵", "贵不可言", "言之有物"
            ],
            "festival_spirit": [
                # 传统元素
                "艾草香", "粽叶香", "龙舟竞渡", "屈原精神", "端午习俗",
                "传统文化", "民俗风情", "古韵新风", "文化传承", "历史厚重",
                "千年传统", "民族文化", "华夏文明", "中华传统", "文化瑰宝",
                "家国情怀", "爱国精神", "民族气节", "人文底蕴", "历史记忆",

                # 节日氛围
                "节日喜庆", "欢声笑语", "锣鼓喧天", "彩旗飘扬", "人声鼎沸",
                "热闹非凡", "欢天喜地", "载歌载舞", "普天同庆", "万民欢腾",
                "喜气洋洋", "张灯结彩", "欢聚一堂", "其乐融融", "温馨时光",
                "节日气氛浓", "合家团圆乐", "邻里相聚欢", "歌舞升平景", "盛世庆佳节",

                # 文化内涵
                "诗书传家", "文脉悠长", "诗意盎然", "书香门第", "雅韵悠扬",
                "古风犹存", "传统魅力", "文化底蕴", "精神财富", "心灵滋养",
                "文化熏陶", "诗词韵味", "古典美感", "传统气息", "文人墨客",
                "翰墨飘香", "丹青溢彩", "琴棋书画", "礼乐相承", "智慧结晶",

                # 端午特色
                "端阳风情", "五月风光", "初夏时节", "龙舟精神", "竞渡文化",
                "粽香四溢", "艾叶飘香", "菖蒲清香", "雄黄醇香", "节日芬芳",
                "五彩斑斓", "祈福纳祥", "驱邪避瘟", "强身健体", "美好愿景",
                "龙腾虎跃", "奋勇争先", "同舟共济", "团结拼搏", "传承不息"
            ],
            "festival_element": [
                # 植物类
                "艾叶", "菖蒲", "艾草", "香草", "芳草", "青草", "绿叶",
                "端午花", "石榴花", "栀子花", "茉莉花", "荷花", "莲花",
                "榴花", "蒲叶", "苇叶", "竹叶", "芦苇", "水草", "香蒲",
                "兰草", "芷兰", "白芷", "苍术", "藿香", "佩兰", "青蒿",

                # 食物类
                "粽子", "咸鸭蛋", "绿豆糕", "雄黄酒", "端午茶", "时令果",
                "节令食", "应季菜", "传统点心", "民俗小食", "节日美食",
                "白粽子", "肉粽子", "豆沙粽", "蛋黄粽", "五谷粽", "什锦粽",
                "糯米糕", "艾叶糕", "五彩饭", "药膳汤", "养生茶", "保健酒",
                "樱桃", "桑葚", "李子", "桃子", "杏子", "黄鳝", "苋菜",

                # 用品类
                "五彩绳", "香囊", "平安符", "吉祥结", "驱邪草", "护身符",
                "彩丝", "艾虎", "端午扇", "龙舟桨", "锦囊", "福袋",
                "香包", "荷包", "绣袋", "药袋", "香囊袋", "福气包",
                "五色线", "彩带", "红绳", "金线", "银丝", "丝带",
                "桃木剑", "钟馗像", "雄黄符", "避瘟丹", "长命缕", "续命缕",
                
                # 活动类
                "龙舟", "竞渡", "鼓点", "呐喊", "加油声", "欢呼声",
                "龙舟赛", "划龙舟", "赛龙舟", "舟竞", "水上运动", "民俗表演",
                "击鼓", "摇旗", "呐喊助威", "齐心协力", "团结拼搏", "勇往直前",
                "踏青", "沐兰汤", "斗草", "采药", "佩香囊", "系五彩绳", "点雄黄",
                "挂艾草", "悬菖蒲", "贴符咒", "祭屈原", "吟诗作对", "赏龙舟"
            ],
            "emoji": [
                "🐉🌿🎋", "🥟🚣‍♂️🎉", "🌿🎊💚", "🐲🎋🌟", "🥮🎪🎨",
                "🌱🎭🎪", "🍃🎨🎯", "🌿🎻🎼", "🎋🎪🎊", "🐉🎨🌟",
                "🥟🎉🎊", "🚣‍♂️🏆🎯", "🌿💚🌟", "🎋🎪🎭", "🐲🎨🎊",
                "🌺🎪🎨", "🎋🌸🎭", "🐉🌺🎉", "🥟🌿💫", "🚣‍♂️🌟🎪",
                "❤️🌟✨", "👍💯🥇", "😊☀️🌈", "🙏💪🍀", "🎁🎈🎀",
                "🥳🎊🥂", "🤩🙌💯", "✨💖🌟", "💯🚀🎉", "💐🌸🌷"
            ]
        }
        self.save_vocabularies()
    
    defcreate_default_poems(self):
        """创建默认诗句"""
        self.poems = [
            # 经典端午诗句
            "节分端午自谁言，万古传闻为屈原。",
            "彩线轻缠红玉臂，小符斜挂绿云鬟。",
            "重五山村好，榴花忽已繁。",
            "轻汗微微透碧纨，明朝端午浴芳兰。",
            "端午临中夏，时清日复长。",
            "不效艾符趋习俗，但祈蒲酒话升平。",
            "五月五日午，赠我一枝艾。",
            "竞渡深悲千载冤，忠魂一去讵能还。",
            
            # 新增经典诗句
            "千载悠悠，成何究竟？漫溯溱洄，经清浊。",
            "楚人悲屈原，千载意未歇。",
            "端午被恩荣，生绡画扇如霜雪。",
            "彩丝金黍，水殿龙舟，君王旧事。",
            "粽包分两髻，艾束著危冠。",
            "良辰当五日，偕老祝千年。",
            
            # 现代端午诗句
            "龙舟竞渡庆端阳，粽叶飘香话吉祥。",
            "艾草青青护万家，龙舟阵阵庆中华。",
            "五月榴花红似火，端阳佳节乐融融。",
            "粽香千里传情意，龙舟百里送安康。",
            "端午时节话传统，民族精神永传承。",
            "艾叶菖蒲挂门楣，驱邪辟秽保平安。",
            "龙舟破浪竞争流，健儿奋力夺锦标。",
            "粽子飘香庆佳节，合家团圆乐无边。"
        ]
        self.save_poems()
    
    defcreate_default_data(self):
        """创建所有默认数据"""
        os.makedirs(self.data_folder, exist_ok=True)
        self.create_default_templates()
        self.create_default_vocabularies()
        self.create_default_poems()
    
    defsave_templates(self):
        """保存模板到文件"""
        os.makedirs(self.data_folder, exist_ok=True)
        withopen(self.data_folder / "blessing_templates.json", 'w', encoding='utf-8') as f:
            json.dump(self.templates, f, ensure_ascii=False, indent=2)
    
    defsave_vocabularies(self):
        """保存词库到文件"""
        os.makedirs(self.data_folder, exist_ok=True)
        withopen(self.data_folder / "vocabularies.json", 'w', encoding='utf-8') as f:
            json.dump(self.vocabularies, f, ensure_ascii=False, indent=2)
    
    defsave_poems(self):
        """保存诗句到文件"""
        os.makedirs(self.data_folder, exist_ok=True)
        withopen(self.data_folder / "dragon_boat_poems.json", 'w', encoding='utf-8') as f:
            json.dump(self.poems, f, ensure_ascii=False, indent=2)
    
    defget_smart_choice(self, category: str) -> str:
        """使用智能生成器获取不重复的选择"""
        if category inself.smart_generators:
            returnself.smart_generators[category].choice()
        elif category inself.vocabularies andself.vocabularies[category]:
            return random.choice(self.vocabularies[category])
        else:
            defaults = {
                "wish": "幸福安康",
                "blessing": "福气",
                "festival_spirit": "艾草香",
                "festival_element": "艾叶",
                "emoji": "🐉🌿🎋"
            }
            return defaults.get(category, "")
    
    defgenerate_blessing(self, template_type: str, greeting: str) -> str:
        """生成祝福语"""
        if template_type notinself.templates:
            return"模板类型不存在"
        
        # 使用智能随机生成器选择模板
        templates = self.templates[template_type]
        if template_type notinself.smart_generators:
            self.smart_generators[template_type] = SmartRandomGenerator(templates)
        
        template = self.smart_generators[template_type].choice()
        
        # 使用智能生成器选择词汇，避免重复
        wish = self.get_smart_choice("wish")
        blessing = self.get_smart_choice("blessing")
        festival_spirit = self.get_smart_choice("festival_spirit")
        festival_element = self.get_smart_choice("festival_element")
        emoji = self.get_smart_choice("emoji")
        
        # 随机选择诗句
        poem = ""
        ifself.poems:
            if"poems"notinself.smart_generators:
                self.smart_generators["poems"] = SmartRandomGenerator(self.poems)
            poem = self.smart_generators["poems"].choice()
        
        # 格式化字符串
        try:
            result = template.format(
                greet=greeting if greeting else"朋友",
                wish=wish,
                blessing=blessing,
                festival_spirit=festival_spirit,
                festival_element=festival_element,
                poem=poem,
                emoji=emoji
            )
            
            # 记录生成历史
            self.generated_history.append({
                "content": result,
                "template_type": template_type,
                "greeting": greeting,
                "timestamp": datetime.now().isoformat()
            })
            
            # 限制历史记录数量
            iflen(self.generated_history) > 100:
                self.generated_history = self.generated_history[-50:]
            
            return result
        except KeyError as e:
            returnf"模板格式错误: {e}"


defmain(page: ft.Page):
    page.title = "端午节祝福语生成器"
    page.theme_mode = ft.ThemeMode.LIGHT
    page.window.width = 800# Adjusted width
    page.window.height = 650# Adjusted height
    page.padding = 20
    
    generator = DragonBoatBlessingGenerator()
    
    title = ft.Text(
        "🐉 端午节祝福语生成器 🥟",
        size=28,
        weight=ft.FontWeight.BOLD,
        color=ft.Colors.GREEN_700,
        text_align=ft.TextAlign.CENTER
    )
    
    subtitle = ft.Text(
        "by：凌小添", # Updated subtitle
        size=14,
        color=ft.Colors.GREY_600,
        text_align=ft.TextAlign.CENTER
    )
    
    template_dropdown = ft.Dropdown(
        label="选择祝福风格",
        width=200,
        options=[
            ft.dropdown.Option("传统经典型"),
            ft.dropdown.Option("活泼俏皮型"),
            ft.dropdown.Option("文艺内涵型"),
            ft.dropdown.Option("商务正式型"),
            ft.dropdown.Option("温馨家庭型"),
        ],
        value="传统经典型",
        bgcolor=ft.Colors.GREEN_50,
        border_color=ft.Colors.GREEN_400,
    )
    
    greeting_input = ft.TextField(
        label="输入祝福对象称呼",
        hint_text="如：亲爱的朋友、尊敬的老师等",
        width=400,
        bgcolor=ft.Colors.GREEN_50,
        border_color=ft.Colors.GREEN_400,
        value="亲爱的朋友"
    )
    
    blessing_display = ft.Container(
        content=ft.Text(
            "点击生成按钮，开始创造您的专属端午祝福！",
            size=16,
            color=ft.Colors.GREY_600,
            text_align=ft.TextAlign.CENTER
        ),
        bgcolor=ft.Colors.GREEN_50,
        border=ft.border.all(2, ft.Colors.GREEN_200),
        border_radius=10,
        padding=20,
        width=750, # Adjusted width
        height=150, # Adjusted height
    )
    
    status_text = ft.Text("", color=ft.Colors.GREEN_600, size=14)
    
    defgenerate_blessing_clicked(e):
        """生成祝福语"""
        template_type = template_dropdown.value
        greeting = greeting_input.value.strip()
        
        ifnot greeting:
            greeting = "朋友"
        
        blessing = generator.generate_blessing(template_type, greeting)
        
        blessing_display.content = ft.Text(
            blessing,
            size=16,
            color=ft.Colors.GREEN_800,
            weight=ft.FontWeight.W_500,
            text_align=ft.TextAlign.LEFT,
            selectable=True
        )
        
        status_text.value = "✨ 祝福语生成成功！"
        status_text.color = ft.Colors.GREEN_600
        page.update()
    
    defcopy_clicked(e):
        """复制内容到剪贴板"""
        text_to_copy = ""
        ifhasattr(blessing_display.content, 'value'):
            text_to_copy = blessing_display.content.value
        
        if text_to_copy:
            try:
                pyperclip.copy(text_to_copy)
                status_text.value = "📋 内容已复制到剪贴板！"
                status_text.color = ft.Colors.BLUE_600
            except Exception as ex:
                status_text.value = f"❌ 复制失败: {str(ex)}"
                status_text.color = ft.Colors.RED_600
        else:
            status_text.value = "⚠️ 请先生成内容"
            status_text.color = ft.Colors.ORANGE_600
        
        page.update()
    
    generate_blessing_btn = ft.ElevatedButton(
        "🎲 生成祝福语",
        on_click=generate_blessing_clicked,
        bgcolor=ft.Colors.GREEN_600,
        color=ft.Colors.WHITE,
        width=150,
        height=45,
    )
    
    copy_btn = ft.ElevatedButton(
        "📋 复制内容",
        on_click=copy_clicked,
        bgcolor=ft.Colors.GREEN_600,
        color=ft.Colors.WHITE,
        width=150,
        height=45,
    )

    blessing_generation_content = ft.Column([
        ft.Container(height=15),
        ft.Row([
            template_dropdown,
            greeting_input,
        ], alignment=ft.MainAxisAlignment.CENTER, spacing=20),
        ft.Container(height=15),
        ft.Row([
            generate_blessing_btn,
        ], alignment=ft.MainAxisAlignment.CENTER),
        ft.Container(height=15),
        blessing_display,
    ], horizontal_alignment=ft.CrossAxisAlignment.CENTER)

    # 功能说明

    
    page.add(
        ft.Column([
            title,
            subtitle,
            ft.Container(height=15),
            blessing_generation_content, # Added blessing generation content directly
            ft.Container(height=10),
            ft.Row([
                copy_btn,
            ], alignment=ft.MainAxisAlignment.CENTER),
            ft.Container(
                content=status_text,
                alignment=ft.alignment.center,
                height=25,
            ),
            ft.Container(height=10),
        ], horizontal_alignment=ft.CrossAxisAlignment.CENTER, spacing=8)
    )


if __name__ == "__main__":
    ft.app(target=main)